package sk.hackcraft.util.simulation;

import sk.hackcraft.util.simulation.statistics.ReplicationReport;
import sk.hackcraft.util.simulation.statistics.SimulationReport;

/*
 * Toto rozhranie by bolo vhodnejšie nahradiť triedou, aby nebolo nutné
 * implementovať všetky operácie v každej jeho implementácií
 * predimplementované operácie - napr. setProgress
 */

public interface SimulationController
{
	public boolean isPaused();
	public boolean isStopped();
	public boolean isCollecting();
	public void reportReplication(ReplicationReport replicationReport);
	public void reportSimulation(SimulationReport simulationReport);
	public void finished();
	public void setProgress(int status);
	public boolean canPlanSystemEvent();
	public void setSystemEventExists(boolean exists);
	public int getSimulationSpeed();
}
